Many microprocessors use a hardware accelerator to perform entropy coding for video encoding and decoding. The hardware accelerator, however, is fixed to particular coding and decoding (codec) standard and cannot be used for new codec standards. As a result, the entropy coding task for new codec standards must be performed in software or off-loaded from the microprocessor to another computation device.
If entropy coding is performed in software many of these same microprocessors with fixed codecs also do not possess the processing capability sufficient to entropy code video without using a hardware accelerator. When the entropy coding task is off-loaded to another device, then the main challenge is the input/output and memory bandwidth needed to send data to be entropy coded/decoded to/from the other hardware. For example, the data to be transmitted/received to/from the other device may include, in the case of video encoding/decoding a residual bitstream, motion vectors, and codec specific side information.